﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    [Serializable]
    public class Reserve
    {
        public Reserve()
        { }
        #region Model
        private int _id;
        private string _code;
        private int _custid;
        private int _carid;
        private decimal _rent;
        private decimal _deposit;
        private decimal _zprice;
        private int _deadline;
        private int _userid;
        private DateTime _booktime;
        private string _marks;
        private DateTime _inputime;
        private decimal _bprice;
        private bool _isstar;
        private string _ystime;
        private string _livaddr;
        private string _ariaddr;
        private string _flaycode;
        private string _senaddr;
        private string _paytype;
        private int _type;
        private DateTime _endbooktime;
        private string _endystime;
        /// <summary>
        /// 
        /// </summary>
        public int Id
        {
            set { _id = value; }
            get { return _id; }
        }
        /// <summary>
        /// 内部编号
        /// </summary>
        public string Code
        {
            set { _code = value; }
            get { return _code; }
        }
        /// <summary>
        /// 客户Id
        /// </summary>
        public int CustId
        {
            set { _custid = value; }
            get { return _custid; }
        }
        /// <summary>
        /// 客户编码
        /// </summary>
        public string CustomerCode
        {
            set;
            get;
        }
        /// <summary>
        /// 客户姓名
        /// </summary>
        public string CustomerName
        {
            set;
            get;
        }
        /// <summary>
        /// 客户手机
        /// </summary>
        public string Tel
        {
            set;
            get;
        }
        /// <summary>
        /// 客户公司名称
        /// </summary>
        public string ComName
        {
            set;
            get;
        }
        /// <summary>
        /// 客户联系电话
        /// </summary>
        public string CustomerPhone
        {
            set;
            get;
        }
        /// <summary>
        /// 客户驾驶证号
        /// </summary>
        public string CustomerDriCard
        {
            set;
            get;
        }
        /// <summary>
        /// 客户身份证号
        /// </summary>
        public string CustomerCodeCar
        {
            set;
            get;
        }
        /// <summary>
        /// 客户家庭地址
        /// </summary>
        public string CustomerAddr
        {
            set;
            get;
        }
        /// <summary>
        /// 客户类型
        /// </summary>
        public string CustomerType
        {
            set;
            get;
        }
        /// <summary>
        /// 客户性别
        /// </summary>
        public string CustomerSex
        {
            set;
            get;
        }
        /// <summary>
        /// 车辆Id
        /// </summary>
        public int CarId
        {
            set { _carid = value; }
            get { return _carid; }
        }
        /// <summary>
        /// 预收租金
        /// </summary>
        public decimal Rent
        {
            set { _rent = value; }
            get { return _rent; }
        }
        /// <summary>
        /// 押金
        /// </summary>
        public decimal Deposit
        {
            set { _deposit = value; }
            get { return _deposit; }
        }
        /// <summary>
        /// 租赁单价
        /// </summary>
        public decimal ZPrice
        {
            set { _zprice = value; }
            get { return _zprice; }
        }

        /// <summary>
        /// 短租带驾--计价种类2
        /// </summary>
        public string PriceType1 { get; set; }

        /// <summary>
        /// 短租带驾--计价种类2
        /// </summary>
        public string PriceType2 { get; set; }

        /// <summary>
        /// 过时费
        /// </summary>
        public decimal OutdatedFee { get; set; }

        /// <summary>
        /// 租赁期限类型-日、月、年、次
        /// </summary>
        public string DeadLineType { get; set; }

        /// <summary>
        /// 租赁期限
        /// </summary>
        public int DeadLine
        {
            set { _deadline = value; }
            get { return _deadline; }
        }
        /// <summary>
        /// 经办人ID
        /// </summary>
        public int UserId
        {
            set { _userid = value; }
            get { return _userid; }
        }

        /// <summary>
        /// 经办人姓名
        /// </summary>
        public string UserTrueName
        {
            set;
            get;
        }
        /// <summary>
        /// 预约时间
        /// </summary>
        public DateTime BookTime
        {
            set { _booktime = value; }
            get { return _booktime; }
        }
        /// <summary>
        /// 备注
        /// </summary>
        public string Marks
        {
            set { _marks = value; }
            get { return _marks; }
        }
        /// <summary>
        /// 录入时间
        /// </summary>
        public DateTime InpuTime
        {
            set { _inputime = value; }
            get { return _inputime; }
        }
        /// <summary>
        /// 包干价
        /// </summary>
        public decimal BPrice
        {
            set { _bprice = value; }
            get { return _bprice; }
        }
        /// <summary>
        /// 是否执行
        /// </summary>
        public bool IsStar
        {
            set { _isstar = value; }
            get { return _isstar; }
        }
        /// <summary>
        /// 预约时间段
        /// </summary>
        public string ysTime
        {
            set { _ystime = value; }
            get { return _ystime; }
        }
        /// <summary>
        /// 离开地点
        /// </summary>
        public string LivAddr
        {
            set { _livaddr = value; }
            get { return _livaddr; }
        }
        /// <summary>
        /// 前往地点
        /// </summary>
        public string AriAddr
        {
            set { _ariaddr = value; }
            get { return _ariaddr; }
        }
        /// <summary>
        /// 航班号
        /// </summary>
        public string FlayCode
        {
            set { _flaycode = value; }
            get { return _flaycode; }
        }
        /// <summary>
        /// 第二乘车点
        /// </summary>
        public string SenAddr
        {
            set { _senaddr = value; }
            get { return _senaddr; }
        }
        /// <summary>
        /// 付款方式
        /// </summary>
        public string PayType
        {
            set { _paytype = value; }
            get { return _paytype; }
        }
        /// <summary>
        /// 1: 长租自驾 2:短租自驾 3: 长租带驾4:短租带驾
        /// </summary>
        public int Type
        {
            set { _type = value; }
            get { return _type; }
        }
        /// <summary>
        /// 
        /// </summary>
        public DateTime EndBooktime
        {
            set { _endbooktime = value; }
            get { return _endbooktime; }
        }
        /// <summary>
        /// 
        /// </summary>
        public string Endystime
        {
            set { _endystime = value; }
            get { return _endystime; }
        }

        /// <summary>
        /// 订单完成状态
        /// </summary>
        public bool OrderSataus { get; set; }

        /// <summary>
        /// 餐费住宿费 --- 结算时
        /// </summary>
        public decimal MealsAccommodation { get; set; }

        /// <summary>
        /// 违章保留  ---结算时
        /// </summary>
        public decimal IllegalRetention { get; set; }

        /// <summary>
        /// 应收租金 --- 结算时
        /// </summary>
        public decimal RentReceivable { get; set; }

        /// <summary>
        /// 已收金额 --- 结算时
        /// </summary>
        public decimal ReceivedAmount { get; set; }

        /// <summary>
        /// 超时金额 --- 结算时
        /// </summary>
        public decimal OvertimeAmount { get; set; }

        /// <summary>
        /// 超驶金额 --- 结算时
        /// </summary>
        public decimal SuperDriverAmount { get; set; }

        /// <summary>
        /// 罚单金额 --- 结算时
        /// </summary>
        public decimal TotalFines { get; set; }

        /// <summary>
        /// 退押金额 --- 结算时
        /// </summary>
        public decimal DepositReturn { get; set; }

        /// <summary>
        /// 车辆损伤 --- 结算时
        /// </summary>
        public decimal RepairDamage { get; set; }

        /// <summary>
        /// 结算总计 --- 结算时
        /// </summary>
        public decimal TotalAmount { get; set; }

        /// <summary>
        /// 是否完成结账
        /// </summary>
        public bool IsCompletedCheckout { get; set; }

        /// <summary>
        /// 是否返还违章保留
        /// </summary>
        public bool IsReturnIllegal { get; set; }

        /// <summary>
        /// 还车结算日期
        /// </summary>
        public DateTime SettlementDate { get; set; }

        /// <summary>
        /// 还车结算用户ID
        /// </summary>
        public int SettlementUserID { get; set; }

        /// <summary>
        /// 返还违章保留金额
        /// </summary>
        public decimal ReturnIllegalAmount { get; set; }

        /// <summary>
        /// 返还违章保留日期
        /// </summary>
        public DateTime ReturnIllegalDate { get; set; }

        /// <summary>
        /// 返还违章保留用户ID
        /// </summary>
        public int ReturnIllegalUserID { get; set; }

        /// <summary>
        /// 订车时，当前公里数
        /// </summary>
        public Int64 CurrentMax { get; set; }

        /// <summary>
        /// 客户是否取车
        /// </summary>
        public bool IsGetCar { get; set; }

        /// <summary>
        /// 提前还车金额
        /// </summary>
        public decimal EarlyRefund { get; set; }

        public long Points { get; set; }

        public float PointRate { get; set; }

        #endregion Model

    }
}
